Reverse Stack Execution in a Multi-Variant Execution Environment
نویسندگان
چکیده
Multi-variant execution allows detecting exploited vulnerabilities before they can cause any damage to systems. In this execution method, two or more slightly different variants of the same application are executed simultaneously on top of a monitoring layer. In the course of execution, the monitoring layer checks whether the instances are always in complying states. Any discrepancies raises an alarm and will result in termination of the non-complying instances. We present a technique to generate program variants that use a stack that grows in reverse direction in contrast to the native stack growth direction of the platform. Such program variants, when executed along with a normal instance in a multi-variant environment, allow us to detect stack-based buffer overflow attacks. The technique is implemented by modifying GCC to generate executables that write their stacks in opposite direction. In addition, we briefly present the technique used to build our multi-variant execution environment. Through evaluation we have shown that our prototype system can interdict the execution of malicious code in popular applications such as the Apache web server by trading off a small performance penalty for a high degree of security.
منابع مشابه
Investigation on Reliability Estimation of Loosely Coupled Software as a Service Execution Using Clustered and Non-Clustered Web Server
Evaluating the reliability of loosely coupled Software as a Service through the paradigm of a cluster-based and non-cluster-based web server is considered to be an important attribute for the service delivery and execution. We proposed a novel method for measuring the reliability of Software as a Service execution through load testing. The fault count of the model against the stresses of users ...
متن کاملAn Effective Task Scheduling Framework for Cloud Computing using NSGA-II
Cloud computing is a model for convenient on-demand user’s access to changeable and configurable computing resources such as networks, servers, storage, applications, and services with minimal management of resources and service provider interaction. Task scheduling is regarded as a fundamental issue in cloud computing which aims at distributing the load on the different resources of a distribu...
متن کاملAn integrated simulation-DEA approach to multi-criteria ranking of scenarios for execution of operations in a construction project
The purpose of this study is to examine different scenarios for implementing operations in the pre-construction phase of a project, based on several competing criteria with different importance levels in order to achieve a more efficient execution plan. This paper presents a new framework that integrates discrete event simulation (DES) and data envelopment analysis (DEA) to rank different scena...
متن کاملImplications of Execution Threads for Multi-User Multiprocessors
Threads, a form of light weight processes, promise a standardised technique for implementing parallel execution on shared memory multiprocessors. Delivery of this promise is hindered by common architectural and system software features, many of which derive from traditional sequential machines. This paper characterises some of the hardware and software issues which need to be addressed in the p...
متن کاملEfficient Reverse Converter for Three Modules Set {2^n-1,2^(n+1)-1,2^n} in Multi-Part RNS
Residue Number System is a numerical system which arithmetic operations are performed parallelly. One of the main factors that affects the system’s performance is the complexity of reverse converter. It should be noted that the complexity of this part should not affect the earned speed of parallelly performed arithmetic unit. Therefore in this paper a high speed converter for moduli set {2n-1, ...
متن کامل